home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / WORDMISC / FLYDEMON.LZH / FLYDEMON.DOC < prev    next >
Text File  |  2001-01-01  |  47KB  |  844 lines

  1. Introduction (and a little rattling of the cup...)
  2.  
  3.      st/exp represents a new level of performance for text data compression,
  4. typically compressing text files to about 30% of their original size.
  5. However, high throughput is not sacrificed in the process; it is competitive
  6. in speed with the best programs based upon the vastly simpler Limpel-Ziv
  7. algorithm.
  8.  
  9.      I believe it recognizes a point seemingly passed over in all the other
  10. attempts at text data compression that I know of.  Namely, that the pursuit
  11. of ever higher storage capacities without, at the same time, addressing more
  12. convenient information ACCESS, is ultimately a pursuit that will end in
  13. chaos.  The word-orientation of st/exp's compression technique provides the
  14. "hooks" to address exactly this issue of convenient information access.
  15.  
  16.      But, st/exp is not all there is to this package.  There's also what I
  17. consider to be a great little utility, albeit a DIFFERENT little utility,
  18. that takes a lot of the busywork out of word-processing.  I'm using it right
  19. now, along with Microsoft Word, to write this.  It's called Typing Demon.
  20.  
  21.      If you take a little time to understand what it does, I suspect that
  22. you'll like it, too.  If you just jump into it, it will probably beep at you
  23. a lot, and you'll probably find it weird and frustrating.  It's really not
  24. that difficult to get used to.  Getting used to not having it, if someone
  25. shoves you onto a VAX or something, would be more difficult.
  26.  
  27.      There's also a nice directory program, as well as a number of other
  28. programs which, likely as not, duplicate programs you already have.
  29.  
  30.      If you find these programs useful, a contribution of $25 will be
  31. greatly appreciated.  For $50, you will be registered and will receive the
  32. next program update, with manual, at no additional cost.  Quantity discounts
  33. and site licensing can be worked out for anyone that gets really serious
  34. about it.
  35.  
  36.      st/exp was definitely NOT a hobbyist effort.  I'm trying to do this for
  37. a living.  With your support, Bartles and James has been able to bring you
  38. an ever-expanding array of different-flavored wine coolers.  Also with your
  39. support, I will be able to continue to develop this basic technology into
  40. something that will be even more useful and interesting, which will
  41. ultimately save YOU money!  You can send your INVESTMENT to:
  42.  
  43.      MicroComputer Square
  44.      126 Hancock Avenue
  45.      Spartanburg, SC  29302
  46.  
  47. and THANKS!!!
  48.  
  49.  
  50.      PLEASE NOTE that your contribution entitles you to ALL of the programs
  51. listed below, even though the package may be broken up in archives named
  52. fly_util.arc, flydemon.arc, and flystexp.arc, to allow downloading in smaller
  53. "bytes".
  54.  
  55.  
  56. Now the Manual
  57.  
  58. The following programs and files should be found on the distribution disks:
  59.  
  60. ask_demo.bat  -- provides a demonstration of the ask program
  61. ask.exe       -- a UNIX-style utility for use in batch files
  62. d.exe         -- a directory program you'll like
  63. hide.exe      -- changes the attribute of the specified file to "hidden"
  64. hunt.exe      -- a file-name finder utility
  65. look4.exe     -- searches for any file containing a specified text string
  66. mc2sp.exe     -- Installs MicroComputer Square's sexy prompt
  67. newdate.exe   -- changes the file date/time of the specified files
  68. unhide.exe    -- changes the attribute of the specified file to "normal"
  69. volname.exe   -- allows you to name/rename a disk (hard or floppy) volume
  70.  
  71. All of the above programs provide at least minimal instruction as to how to
  72. run them, simply by typing their program name (followed by return).  One
  73. exception is mc2sp, which simply does its thing (which is to write a prompt
  74. command to your autoexec file).  The other exception is d, our directory
  75. program.  d will provide rather complete help, by typing "d h", or "d ?".
  76.  
  77. These files are in the directory "DEMON"
  78.  
  79. demon.exe     -- the Typing Demon program
  80. linguist.exe  -- a vocabulary-analysis program for use with Typing Demon
  81. mk_demon.exe  -- a "compiler" program to generate your own list of demons
  82.                    and abbreviations for use with Typing Demon
  83. setdemon.exe  -- configures Typing Demon according to its options
  84.  
  85. demons.fly    -- the compiled distribution "demons file" for fanatics
  86. template.fly  -- the ASCII source file for the above
  87. demons.qwe    -- the compiled demons file for the QWERTY keyboard
  88. template.qwe  -- the ASCII source file for the above
  89.  
  90. As above, most of these programs provide some minimal help by typing their
  91. program name.  The Typing Demon program, however, simply installs itself in
  92. memory when its name is typed.
  93.  
  94. These files are in the directory "STEXP"
  95.  
  96. st.exe        -- the FlySpeed compression program
  97. exp.exe       --  "     "     expansion program
  98. flyspeed.mc2  -- FlySpeed's dictionary data file
  99.  
  100. st/exp will tell you that you need to specify a file-specification, if you
  101. simply type their program name, followed by return.
  102.  
  103.  
  104. Typing Demon
  105.  
  106.      But first, is there NOTHING which is sacred ?
  107.  
  108.      The order of frequency of letters in the English language is something
  109. like: etoa insrh lcdump wfgb vkyxqzj.  If that's not apparent to you just
  110. from looking at the Qwerty keyboard, don't feel alone.
  111.  
  112.      The "reason" for the layout of the Qwerty keyboard is not known for
  113. certain.  There is one explanation which says that the layout was designed
  114. purposefully to slow down the typist, in order to reduce the tendency of the
  115. mechanical typewriter keys to lock together, in the process of swinging up
  116. to the paper to make their imprint.  I notice, however, that in the process
  117. of typing on a Qwerty keyboard, one's wrist and forearm movements are much
  118. exaggerated compared to the "Dvorak" or "MC Square" keyboards.  It occurs to
  119. me that an explanation for the layout of Qwerty might be simply to encourage
  120. developing sufficient forearm momentum to power the mechanical keys of crude
  121. typewriters up to the paper, with sufficient force left over to make a good
  122. impression.  (Or, perhaps, the person who created the Qwerty layout, like
  123. the committee that designed the new IBM "Enhanced" keyboard, was just obliv-
  124. ious to any concept of ergonomics.)
  125.  
  126.      The character frequency given above does not include non-printing
  127. characters, such as space, enter, backspace, etc.  In a typical word-
  128. processing document, the most frequent character will, of course, be the
  129. space character.  Depending upon the typist, however, the key most frequent-
  130. ly pressed may well be the backspace!  This is not a key which was present
  131. on the original typewriters, and it has been added to computer keyboards in
  132. a rather ad hoc fashion, ignoring its real utility.  Another example of poor
  133. ergonomic design in computer keyboards is the enter key, which is commonly
  134. used in software applications.  The placement of these two keys by the MC
  135. Square (henceforth referred to as MC2) keyboard is one thing which distin-
  136. guishes it from the Dvorak keyboard, which was developed in the 1930's, and
  137. was still basically a typewriter keyboard.  The speed record, for typing on
  138. a typewriter, which is listed in the Guiness World Book of Records, is held
  139. by a typist using the Dvorak keyboard, incidentally.
  140.  
  141.      The most obvious distinction between typewriter typing and word-
  142. processing, however, is the full-screen editing feature of word-processors.
  143. This feature makes necessary, and important, the cursor-control keys which
  144. are totally lacking on a typewriter.  Again, these keys were added in an ad
  145. hoc fashion to the computer keyboard.  The MC2 keyboard further distin-
  146. guishes itself from Dvorak by placing these important keys under your
  147. fingertips.
  148.  
  149.      For those who used Wordstar in the days of old, you might remark that
  150. Wordstar does the same thing.  However, it wasn't so much that Wordstar had
  151. the right idea, as it was that the original Wordstar ran on "S-100/CPM"
  152. computers equipped with "dumb terminals", which, often as not, did not have
  153. any cursor keys.  Thus, Wordstar used the keys on the left of the keyboard,
  154. next to the "Ctrl" key, for the cursor functions.
  155.  
  156. A better mousetrap ...
  157.  
  158.      After spending much of the day typing with Wordstar, it was not unusual
  159. to develop "Wordstar" finger, an aching of the area around the base of the
  160. left little finger which was the result of repeated, awkward stretching of
  161. the little finger to reach the control key, while another finger of the left
  162. hand pressed one of the cursor keys of the "Wordstar diamond".  The MC2
  163. keyboard eliminates that problem by placing the cursor keys under the right
  164. hand.  Furthermore, by redefining the "space bar" to be a "demon shift key",
  165. the six keys reserved for cursor control can provide 12 common word-
  166. processing functions, depending upon whether they are used with control-
  167. shift, or demon-shift.
  168.  
  169.      Additionally, Ctrl-shift, in conjunction with the redefined space and
  170. backspace keys, gives you 2 more common word-processing functions: insert
  171. and delete, respectively.  With many word-processing programs and editors, a
  172. quick way of moving something from one place to another is to delete it,
  173. move to where you want it, and hit insert.  This is typically a quick, con-
  174. venient operation with the MC2 keyboard.
  175.  
  176.      It is recognized, however, that learning an altogether new keyboard
  177. layout is a moderately ambitious undertaking (I should know, I learned about
  178. 12 of them before I was satisfied!).  It takes about 10,000 words (20 pages)
  179. of typing, before one becomes comfortable with a different keyboard layout,
  180. particularly one which has such a different feel than the Qwerty keyboard.
  181. With this in mind, a version of the Qwerty keyboard has been provided which
  182. makes relatively few changes to the basic layout, while providing more con-
  183. venient access to these important word-processing functions.  This slightly-
  184. modified Qwerty layout will significantly reduce the hand and forearm move-
  185. ment typically required in word-processing, and, as a consequence, will
  186. increase the overall speed of performing this task, while making the process
  187. less tedious and tiring.
  188.  
  189.      For anyone who may be interested in the other differences between the
  190. Dvorak and MC2 keyboards, while the MC2 keyboard was developed independently
  191. of the Dvorak keyboard, they are remarkably similar.  I tinkered, unsatis-
  192. fied for months, with the layout of the keyboard.  The intent was to develop
  193. a more efficient keyboard and thus trim time off of the overall software
  194. development effort.  Somewhere in the middle of that effort, something
  195. happened which most programmers can only have nightmares of: a hard-disk
  196. crash.
  197.  
  198.      Fortunately, I was "mostly backed up".  One of the things which was not
  199. backed up was the current keyboard layout.  However, I had a file defining
  200. the Dvorak layout, and decided that it would be easier to recreate my layout
  201. from that, than from a Qwerty layout.  I was actually very surprised at how
  202. similar my keyboard had become to the Dvorak keyboard.
  203.  
  204.      You'll notice that all of the vowels are grouped on the left of the
  205. keyboard.  The reason is that you type fastest when you're alternating left
  206. and right hands, and, since words tend to alternate consonant-vowel or
  207. vowel-consonant, this is the logical way to group keys.  The Dvorak key-
  208. board, however, curiously puts the 'U' key under the index finger, even
  209. though it is not such a common key.  Both keyboards displace the 'R' key
  210. from the "finger row", even though it is a rather common key.  The reason
  211. for this is something I did not at first fully appreciate when I blissfully
  212. set out to create my own keyboard: a good keyboard layout is a function of
  213. more subtle considerations than simply the frequency of occurrence of
  214. characters; it also must take into consideration common key sequences, and
  215. avoid making such common sequences awkward to do.  Thus, both keyboards
  216. displace the 'R' key because 'R' is commonly used adjacent to 'S' and/or
  217. 'T', which are more common letters already assigned to the finger row.
  218.  
  219.      As for the apparently cheap and crass marketing ploy and attempt at
  220. self-promotion, "UFLY", exists in keeping with the strategy of vowel-
  221. segregation, as well as because 'L' is commonly used in association with 'Y'
  222. and 'E'.  A few things besides 'F' were tried as alternatives: the "URLY"
  223. keyboard and the "ULRY" keyboard, are examples.  The "UGLY" keyboard was
  224. even tried, for about 15 seconds.  If I compromised my engineering ethics at
  225. all, it was only a little.
  226.  
  227.      Some key sequences, inevitably, will be awkward.  And, at first, I
  228. sometimes seemed to get into the wrong "mind set", and wanted to use too
  229. little hand and wrist movement.  I think that what made those times more
  230. noticeable than typing with the Qwerty keyboard, was that, with the Qwerty
  231. keyboard, nearly EVERYTHING was awkward.
  232.  
  233.      The statistical nature of the MC2 keyboard does not take into consider-
  234. ation the effects of Typing Demon, however.  Nonetheless, I'm personally
  235. quite satisfied with it, and kind of burned out from making changes to it...
  236. If some other brave soul wants to try to improve upon it, he has my bless-
  237. ings.  I just suggest that you start with a layout that is not too different
  238. from the Dvorak or MC2 keyboards.  In the age of personal computers, you
  239. should be able to use the keyboard you like.
  240.  
  241.      Below is a comparison of the QWERTY keyboard layout, Typing Demon's
  242. modified QWERTY keyboard, the MC2 keyboard, and the Dvorak keyboard.
  243.  
  244. The standard QWERTY keyboard:
  245.  
  246.     1    2    3    4    5    6    7    8    9    0    -    +    bsp
  247.  
  248.      Q    W    E    R    T    Y    U    I    O    P    [    ]
  249.  
  250.      (a)  (s)  (d)  (f)   G    H   (j)  (k)  (l)  (;)   '    `   Ent
  251.  
  252.      \    Z    X    C    V    B    N    M    ,    .    /
  253.  
  254.      <**                     spc                     **>  CAPS
  255.  
  256. Typing Demon's modified QWERTY layout:
  257.  
  258.     1    2    3    4    5    6    7    8    9    0    -    +    CAPS
  259.  
  260.      Q    W    E    R    T    Y    U    I    O    P    [    ]
  261.  
  262.      (a)  (s)  (d)  (f)   G    H  (Ent) (k)  (l) (spc)  J    ;    /
  263.  
  264.      \    Z    X    C    V    B    N    M    ,    .   bsp
  265.  
  266.      <**               Demon-Shift Bar                **>   '
  267.  
  268. The MC Square layout:
  269.  
  270.     1    2    3    4    5    6    7    8    9    0    [    ]    CAPS
  271.  
  272.      U    F    L    Y    ,    '    B   Ent   R    W    Z    J
  273.  
  274.      (a)  (e)  (o)  (i)   G    H   (s)  (t)  (n) (spc)  P    +    /
  275.  
  276.      .    ;    -    Q    D    X    C    V    M    K   bsp
  277.  
  278.      <**               Demon-Shift Bar                **>   \
  279.  
  280. The Dvorak keyboard:
  281.  
  282.     1    2    3    4    5    6    7    8    9    0    -    +    bsp
  283.  
  284.      '    ,    .    P    Y    F    G    C    R    L    /    ]
  285.  
  286.      (a)  (o)  (e)  (u)   I    D   (h)  (t)  (n)  (s)   -    ]   Ent
  287.  
  288.      \    ;    Q    J    K    X    B    M    W    V    Z
  289.  
  290.      <**                     spc                     **>  CAPS
  291.  
  292.  
  293. Now for Something Completely Different...
  294.  
  295.      Typing Demon's name was inspired by "Maxwell's Demon".  This creature
  296. of the imagination of British physicist James Clerk Maxwell (better known
  297. for his equations of electromagnetism) was supposed to, in effect, provide
  298. refrigeration at no cost .  The idea was that the critter would sit there,
  299. next to a little door to a container of some gas, and when a fast (i.e.,
  300. hot) molecule would come by, he'd open the door and let it out.  When a slow
  301. molecule came by, he'd close the door, keeping it in.  Thus, the overall
  302. entropy of the system would decrease, presumably without any expenditure of
  303. energy, in opposition to thermodynamic theory.
  304.  
  305.      Of course, Maxwell did not seriously propose this demon.  For however
  306. the demon was to be "constructed", it would have to expend energy to measure
  307. the velocity of the approaching molecules, as well as to operate the little
  308. door, which would have to be strong enough to withstand constant bombardment
  309. by the molecules.  Ultimately, thermodynamic theory would be borne out.
  310.  
  311.      Fortunately, Typing Demon is not subject to the physical constraints
  312. imposed upon Maxwell's Demon.  But, in an analogous manner, it stands be-
  313. tween your keyboard and computer, doing things not supposed to be possible
  314. by the conventional wisdom.
  315.  
  316. Typing Demon can assist typing in three distinct ways:
  317.  
  318.      First, it automates the typing process in some respects, such as by
  319. providing the ability to type entire common words merely by pressing the
  320. appropriate key, while holding down the "space bar".  It thus provides
  321. functionality similar to a limited voice recognition capability, and, in
  322. fact, it could be used in conjunction with voice recognition to reduce the
  323. amount of chatter required.  (In addition to the "Demons", you can also
  324. define "abbreviations" for other common words.)
  325.  
  326.      Secondly, it puts 14 common cursor-movement and word-processing func-
  327. tions under your fingertips, significantly reducing the hand and forearm
  328. movement typically required in word processing applications.
  329.  
  330.      Thirdly, as an option, one may elect to define the keyboard in a more
  331. efficient arrangement than that which is represented by the standard
  332. "Qwerty" configuration.  Two options, the "MC2" keyboard and the older, but
  333. similar, "Dvorak" keyboard are provided.  These two arrangements are based
  334. upon the statistical frequency of characters in the English language.  The
  335. MC2 keyboard is, to a great extent, just a Dvorak keyboard that has effect-
  336. ively forgotten its arcane technological ancestry.
  337.  
  338. The "Demon Bar":
  339.  
  340.      Typing Demon gives one easy access to typically about 27 common words,
  341. by means of the "space bar", which it redefines as a "word bar", or "demon-
  342. shift bar".  Typing Demon intelligently inserts spaces before and after the
  343. common words, as is appropriate.  Thus, to type "four score and seven
  344. years", one simply types "score", holds down the Bar, presses "c", then
  345. types "seven".  The Demon spaces after "score", types "and", and adds a
  346. space after "and" when you begin to type "seven".  In other words, it types
  347. a total of 5 characters for you.  If you were so thoughtless as to type a
  348. space before typing the Demon, it will complain about your inefficiency with
  349. a little beep.
  350.  
  351.      In addition to the common words, Typing Demon also may type suffixes
  352. for you.  The only suffixes likely to be worth defining are "ing" and
  353. "tion".  (Though, in the distribution "demons" file, there are also some
  354. suffixes defined as abbreviations, typically for "suffixes" involving an
  355. apostrophe.)  Again, the Demon will intelligently space for you after the
  356. suffix, once you begin typing the next word.  (The reason it waits, is to
  357. see what character you type next.  If you type a comma, the Demon is smart
  358. enough not to space.)  Suffixes are indicated in the "demons" file by pre-
  359. ceding them with a slash mark, or division sign, "/" (note: not a backslash,
  360. "\").
  361.  
  362.      In general, the Demon will space appropriately after punctuation.  It
  363. also automatically capitalizes the beginning of sentences.
  364.  
  365.      The Demon also assists you in learning the Demon keys.  You may, at any
  366. time, type a common word manually.  If you do so, the Demon will beep at
  367. you, and tell you what the "short" for the word is.  It then requires you to
  368. hit the appropriate Demon key before allowing you to proceed.  Inherent in
  369. this procedure, is the characteristic that you will learn first the Demon
  370. keys which will do you the most good, and that you will not be bothered
  371. excessively by beeps about "common" words you may forget about, after oc-
  372. casional vacations from word processing.
  373.  
  374. Cursor Movement/Word Processing Functions:
  375.  
  376.      The 3 keys normally under your right index, middle, and ring finger, as
  377. well as the 3 keys above those, (on the Qwerty keyboard, the J, K, L and U,
  378. I, O keys) in conjunction with the control-shift (Ctrl) and the Demon-shift
  379. bar, provide 12 common cursor movement and word processing functions:
  380.  
  381.  
  382. Ctrl U, I, O =            Home,    Up,     End
  383.  
  384. Ctrl J, K, L =       Word Left,   Down,    Word Right
  385.  
  386.  
  387. Bar  U, I, O = Delete WordLeft,  Page Up,  Delete WordRight
  388.  
  389. Bar  J, K, L =       Char Left, Page Down, Char Right
  390.  
  391.  
  392. The U and J keys on the left, have some effects going to the left.
  393. The O and L keys on the right, have effects going to the right.
  394.  
  395.      The center key I, above, has effects going up, while the center key K,
  396. below, has effects going down.
  397.  
  398.      Generally, the Bar key has a more drastic effect than the Ctrl key,
  399. though you might say that Bar J/L has a less "drastic" effect than Ctrl J/L.
  400. (Since, on the standard IBM keyboard, it's harder to press down the bar than
  401. to press the Ctrl key, the Bar is reserved more for things you're less
  402. likely to do, or for which the extra effort is justified by extra effect.)
  403.  
  404. Redefining the Keyboard:
  405.  
  406.      Unless you're already using the Dvorak keyboard, I recommend that you
  407. use the modified Qwerty keyboard, at least until you've mastered the other
  408. aspects of Typing Demon.  Learning a new keyboard arrangement is enough of a
  409. challenge in itself, without compounding that difficulty with learning the
  410. "Demon".  After getting used to the Demon, some brave souls may decide to
  411. try their hand at a more logical keyboard arrangement.  Others may not.  In
  412. this age of personal computers, to each his own.
  413.  
  414.      As alluded to in the above paragraph, with Typing Demon, you're stuck
  415. with having to learn at least a few keyboard redefinitions.  One reason is
  416. that the "space bar" has been commandeered for duty as the Demon bar.  But,
  417. also, there are simply other ergonomic fixes that need to be made to the
  418. standard keyboard arrangement.
  419.  
  420.      Probably the two most frequent keys struck on any computer keyboard are
  421. the backspace and the space keys.  These keys should be easy to get to.  As
  422. it turns out, after NOT using the "space bar" to space with for awhile, one
  423. begins to notice that it really takes a fair amount of effort to operate it,
  424. at least on the IBM machines.  While it may be worth it for a whole word,
  425. one lousy space is another matter.  The space key is thus redefined to be
  426. under the right pinkie, replacing the semicolon key.
  427.  
  428.      Continuing this logic, while trying to maintain a sense of consistency,
  429. the backspace key is redefined as being just under the space key, replacing
  430. the "?" key on the standard keyboard.  (Those of you who have rigged up
  431. radio remote-control devices to operate your backspace key, may now dis-
  432. connect them.)
  433.  
  434.      Yet another common key in PC applications is the "carriage return", or
  435. "enter" key.  The original PC keyboard was much criticized for its placement
  436. of the enter key.  Anyway, the enter key is now conveniently under your
  437. right index finger, where "J" (the least used letter of the alphabet) used
  438. to be.  (On the MC2 keyboard, the enter key has been moved to where the "I"
  439. key would be on the Qwerty keyboard.)
  440.  
  441.      Two other common keys in word processing applications are the insert
  442. and delete keys.  Since "delete" is logically related to backspace, we
  443. combine the two into one.  Ctrl-backspace will act as a "delete".  By
  444. similar logic, Ctrl-space will act as an "insert".  With many word process-
  445. ing programs, it's possible to quickly move some text from one place to
  446. another by deleting it, then inserting it.  With these two redefinitions,
  447. moving text in this manner is quick and easy.
  448.  
  449.      It's possible, on the IBM keyboard at least, to remove the keytops and
  450. switch them around, which is what I've done on my keyboard, so that, for the
  451. most part, the keytops correspond to the letter at that position.  (Of
  452. course, you can't switch the enter key, since it's a different size.)  But
  453. if you do this, be careful.  There are some lousy little springs, going to
  454. the key switches inside, which, if they come off, probably mean that you
  455. will have to open up your keyboard to reconnect them.  I was switching
  456. keytops around so much that I just had to open up the keyboard, and put a
  457. tiny drop of superglue at each place where the springs attach to the key
  458. switches.  I haven't had any problem in switching keytops around since doing
  459. that, but that operation is probably beyond some people's mechanical ap-
  460. titude.  If you are careful and aren't switching very many keytops, you
  461. shouldn't have a problem, however.  Or, as you would type with Typing Demon:
  462.  
  463. if[you]r careful[and]a' switch[ing]ve many keytops,[you]sh n[have][a]pb,
  464. h.[or],[as][you][would]type[with]Typ[ing]Demon ...
  465.  
  466. where the words and suffixes in brackets are "Demons", typed with a single
  467. keystroke, and r, a', ve, sh, n, pb, and h are abbreviations I use.  Using a
  468. capital letter to indicate the Demon name, the above would be:
  469.  
  470. ifEr carefulNa' switchQve many keytops,Esh nPApb,h.M,REZtypeOTypQDemon ...
  471.  
  472. Some Tips on Defining Demons
  473.  
  474.      In order to aid in the process of selecting good candidates for Demons
  475. and abbreviated words, a program named "linguist" has been provided.  This
  476. program will read a text file, count the incidences of words in it, and
  477. produce various output files.  (If you have any problem running linguist, it
  478. may be choking on some unusual characters stuck in the text file by your
  479. word-processing program.  In this case, look in the index of your word-
  480. processing manual under the following keywords: "ASCII", "text", "file", or
  481. combinations thereof.  There should be some means of producing a "true blue"
  482. ASCII text file that linguist will be happy with.  You should be able to
  483. tell whether or not there are funny characters in your file by using the DOS
  484. "type" command to display the file on the screen.  Any funny characters will
  485. likely appear as smiley faces, hearts, spades, etc.)
  486.  
  487.      What would seem to be the logical parameter for selecting which words
  488. to make Demons, is the number of keystrokes that will be saved, cumulative-
  489. ly, in a typical document.  For those words which are to be made "Demons"
  490. (that is, the words that will be typed by pressing a key while holding down
  491. the "Demon bar"), you might say that the number of keystrokes that will be
  492. saved, for each occurrence of the word, is equal to the number of letters in
  493. the word.  This is because "a word" is really not just the letters in the
  494. word, but also the space which follows the word.  So, when you do the Demon
  495. for the word "the", Typing Demon actually types four characters for you (or
  496. even five characters, if "the" is not adjacent to another common word).
  497. But, you still have to type the Demon key, so you have really only saved
  498. three keystrokes, for each occurrence of the word "the".
  499.  
  500.      Now, in order to determine the number of keystrokes saved cumulatively,
  501. you must multiply the word's length by the number of occurrences of the word
  502. in a typical document.  The file, with the extension "lth", which is pro-
  503. duced by linguist, provides this information for you, based upon the input
  504. file you give linguist to analyze.  (Perhaps it should go without saying
  505. that you should give linguist a reasonably large file to analyze.  You can
  506. do this by merging a number of small documents with your word-processor.)
  507. For normal English text, the word "the" should always come out as the
  508. winner, based upon word-length multiplied by word-frequency.
  509.  
  510.      Yet another file produced by linguist is sorted purely by word-
  511. frequency, without regard to word-length.  It may be that a word which
  512. occurs with a little greater frequency may be a better choice for a Demon
  513. than another, longer word which perhaps saves a few more keystrokes,
  514. cumulatively, in a typical document.  The reason for this is that humans,
  515. unfortunately, don't have computer-like memories: you're less likely to
  516. forget a Demon which occurs with greater frequency, even if is doesn't save
  517. you quite as many keystrokes.
  518.  
  519.      The abbreviations that you may define require a slightly different
  520. formula for selection.  If you define the single letter "b" as an abbrev-
  521. iation for "because", for example, the cumulative number of keystrokes you
  522. will save in a typical document, thanks to that abbreviation, is 6 times the
  523. frequency of occurrence of "because".  Thus, the selection parameter is more
  524. related to the length of the word, MINUS 1, times the word frequency.  The
  525. file produced by linguist, with the extension "mns", provides this data.
  526.  
  527. To run linguist, simply type
  528.  
  529.      linguist filename
  530.  
  531. followed, as always, with a carriage return, or "enter".
  532.  
  533.      Abbreviations typically should be mnemonic in nature, so as not to tax
  534. your brain too much.  Generally, it's a good idea for the abbreviation to be
  535. the first letter or two of the word itself.
  536.  
  537.      Abbreviations may end with a single number or an apostrophe.  Those
  538. ending in a number are good in cases which are, in some sense, enumerated.
  539. In the distribution "demons" file, these include the days of the week,
  540. Monday through Sunday ("d1" through "d7"), as well as the months of the
  541. year, January through October ("m1" through "m0", with "mn" and "md" for
  542. November and December).
  543.  
  544.      Abbreviations involving an apostrophe are good for common words which
  545. include an apostrophe: a'=ain't, c'=can't, d'=don't, i'=isn't, and w'=won't.
  546.  
  547.      A couple other abbreviations, defined as "suffixes", also include
  548. apostrophes.  "n" will do the suffix "n't", and "s" will do "'s".  This last
  549. one makes it easy to do "it's", "that's", or "there's", if "it", "that", and
  550. "there" are already defined as Demons.  (For what it's worth, all of the
  551. common "suffixes" that include an apostrophe begin with a different letter:
  552. 'd, 'll, 'm, n't, 're, 's, 've.  I made use of this fact in my program for
  553. my friend Josh, who was paralyzed by a stroke, because, with that program,
  554. it was not very convenient to do an apostrophe.)
  555.  
  556.      Typing Demon also distinguishes between upper and lower-case letters.
  557. In other words, "p" may be the abbreviation for "program", while "P" is the
  558. abbreviation for "President".  There is obvious mnemonic value to assigning
  559. capital abbreviations to capital words.
  560.  
  561.      There may be some cases in which you have a number of words which are
  562. similar in sound, and for which no good abbreviations suggest themselves.
  563. For example, "though", "through", "thorough", and "throughout".  You might
  564. abbreviate these as "t6", "t7", "t8", and "t0", according to the number of
  565. letters in each word, or as "t1", "t2", etc.  (I mentally associate the 0 in
  566. "t0" with the second "o" in throughout.)
  567.  
  568.      Sometimes it's a nuisance to have to type a word that's all capitals,
  569. such as IBM.  One way to solve that problem is to simply define "ibm" ("ib",
  570. "Ib", etc.) as its abbreviation.  However, Typing Demon solves this problem
  571. more generally by means of its AUTOCAPS feature (which I just made use of).
  572.  
  573.      With the autocaps feature, when you hit the caps-lock key, caps-lock is
  574. turned on, as you would expect.  However, caps-lock will automatically clear
  575. when you terminate the word you're typing with a space or punctuation.  "But
  576. what if I want it to stay on?", you cry!  Well, simply by holding down the
  577. caps-lock key for about a half-second (Typing Demon will beep to tell you
  578. when), it can be made to "stick", just as it normally would do.  It is then
  579. turned off by hitting it again, just as you're accustomed to it working.
  580. However, since most all-capitalized words typed are, in fact, typed in iso-
  581. lation, the autocaps feature will generally save time and nuisance.
  582.  
  583.      One other idea is to use phonetic association.  For example, "r" as the
  584. abbreviation for "are", "nf" for "information", and "xa" for "exactly".  In
  585. addition to phonetic association, consistency is always nice.  It should
  586. therefore not be difficult to remember "a1", "e1", and "s1" as the abbrevia-
  587. tions for "anyone", "everyone", and "someone".  Similarly, you might define
  588. "z" as the abbreviation for "thing", and "az", "ez", "nz", and "sz" as the
  589. abbreviations for "anything", "everything", "nothing", and "something".
  590.  
  591.      Finally, just for fun, you could easily remember "z" as the abbrevia-
  592. tion for "last", even if "l" would be more pragmatic.  The brain obviously
  593. stores information in all kinds of ways, so there can be different kinds of
  594. "mnemonic connections" between the abbreviations and the abbreviated words.
  595. I will leave it up to the nation's army of high school students, some of
  596. whom will probably memorize thousands of abbreviations, to shame me for not
  597. thinking up more.
  598.  
  599.      The present version of Typing Demon allows you to define phrases, such
  600. as "MicroComputer Square", as Demons or abbreviations, however, you will get
  601. no reinforcement for these phrases in the present version of the program, if
  602. you forget and type them out manually.  So, if you do have several phrases
  603. defined, it may be a good idea to have them on a piece of paper by your
  604. computer's monitor, so you won't forget them.
  605.  
  606.      Finally, for anyone making Demon files for someone else, it's worth-
  607. while to remember that people have varying mental-recall abilities.  Also,
  608. one should consider how much and how often the person is involved in word-
  609. processing.  If the person does word-processing as a regular job function,
  610. he or she will should be able to make use of a larger number of abbre-
  611. viations.  Be aware, also, that there are only just so many words which
  612. occur with any great frequency in any person or company's "word-processing
  613. vocabulary".
  614.  
  615. It's not DOING anything!
  616.  
  617.      When you first load the Demon, he is asleep, and the Demon-shift bar
  618. actually acts just like the Alt key.  Also, the Demon will not beep at you
  619. if you manually type one of the common words defined in the demons file.
  620. However, when you run your word-processor program, the Demon will automat-
  621. ically wake-up.  When you leave your word-processor program, the Demon will
  622. automatically go back to sleep, except that the keyboard redefinitions of
  623. space, backspace, etc., will still be in effect.  Thus, as long as you're at
  624. the DOS level, you can type things like "copy demon.exe \icl" or "comp *.*
  625. b:", and the Demon won't turn it into "copy demon.  Exe \icl" and "comp *.*
  626. because:".
  627.  
  628.      Incidentally, a sentence or two above, when I typed "etc." the Demon
  629. thought that was the end of the sentence, so it wanted to capitalize the
  630. next letter that followed.  In such a case, you can still make a lower-case
  631. "w", simply by pressing a shift key.  It's as if you had caps-lock on (when
  632. you have caps-lock on, you can reverse its effect by pressing a shift key).
  633.  
  634.      If I had originally left out "backspace, etc." from above, and went
  635. back to add it, after typing it in, I might then use page-up (page-down,
  636. cursor-down, word-right, etc.) to move back to where I was when I noticed
  637. the omission.  However, after typing the period after "etc", Typing Demon
  638. will be all set to throw in a couple spaces, thinking I'd just ended a
  639. sentence.  It will, in fact, do this as soon as I try to move the cursor (a
  640. similar situation occurs when you add a sentence at the end of a paragraph,
  641. and use cursor movement, rather than "enter" or "carriage-return" to move
  642. on).  One can CANCEL these spaces, however, just by backspacing before doing
  643. any cursor movement.  Typing Demon doesn't actually backspace, it just
  644. cancels its intention to space.
  645.  
  646.      The Demon may wake up wn you don't want it to, such as when you run
  647. Lotus 123.  This problem will eventually be remedied.  In any case, you can
  648. always exorcise the Demon from your computer by rebooting.
  649.  
  650.      Since Typing Demon isn't really integrated into your word-processor
  651. program, when you go skipping around in your document with page-up, page-
  652. down, etc., the Demon won't really know what's going on, and therefore may
  653. not work quite as you expect when you begin typing again.  However, after
  654. you've typed a little bit, it will know again what's going on.  Basically
  655. what happens is that, when you move the cursor, the Demon resets to a "know-
  656. nothing" condition.
  657.  
  658.      Presently, there are two different word-processing programs supported,
  659. Wordperfect and Microsoft Word.  (Borland's Sidekick is also "kind of sup-
  660. ported".  Sidekick, a resident program itself, is rather fussy about working
  661. with Typing Demon.  It is also slow at accepting characters from the Demon,
  662. producing not nearly so pleasing an effect as Wordperfect, in particular.)
  663. One of the differences between Wordperfect and Microsoft Word is in the way
  664. that the cursor is located on the screen (the Demon needs to know where the
  665. cursor is if you manually type a demon, or abbreviated word, so it can
  666. admonish you).  Microsoft Word uses reverse-video, or a highlight, as its
  667. cursor (on a monochrome display), while Wordperfect uses a standard kind of
  668. cursor, whose position may be determined via a BIOS call.
  669.  
  670.      Other differences are the key sequences by which the two versions
  671. implement delete word-left and delete word-right.  As long as you've done a
  672. bit of typing since last moving the cursor, the Demon implements delete
  673. word-left by means of repeated backspaces.  If you delete too much, however,
  674. or if you've just been moving the cursor around, it will use whatever key
  675. sequence is required by your word-processor program to implement the func-
  676. tion.  ("Too much" is defined as however much is in the Demon's typing
  677. buffer, which can hold up to 256 of the characters typed since last moving
  678. the cursor.)  Thus, if you've been deleting a lot to the left, you may, at
  679. the point the Demon's typing buffer becomes empty, observe a change in the
  680. "behavior" of the delete word-left function.
  681.  
  682.      Microsoft Word does some rather unpleasant things that the Demon must
  683. compensate for.  The Demon, for example, has its own data area for control
  684. of the keyboard.  Word, however, in some cases, looks directly at the system
  685. memory reserved for the BIOS keyboard handler, which the Demon replaces.
  686. One problem this caused was that, if you held down the Demon bar for a
  687. little bit, while thinking what to type next, Word would automatically begin
  688. repeating whatever letter was last typed.  Fortunately, a way was found to
  689. fake out Word so that it would no longer do this.
  690.  
  691.      All in all, Wordperfect behaves more "normally" than Microsoft Word,
  692. and if Typing Demon will work with any other word-processors not yet di-
  693. rectly supported, it's most likely to be the Wordperfect version that will
  694. work the best with them.  The Wordperfect version works quite well with my
  695. programming editor, for example, except that the delete word-left doesn't
  696. work when the Demon's typing buffer has gone dry.
  697.  
  698. Heuristically Speaking...
  699.  
  700.      A little ditty I came up with to help my friend Josh (who had a massive
  701. stroke in his last year of residency at the University of Virginia Medical
  702. School) quickly learn which letter was associated with which common word was
  703. the following:
  704.  
  705.      "One of the ways in which you could be about as fast as this would be
  706. to have some more foxes on the farm, for it is not a lazy dog or cat that
  707. was there with you and I running from the cops."
  708.  
  709.      It doesn't make any more sense than the original, but its a good way to
  710. learn the demons defined in the distribution file.  You might also print out
  711. the demons file and study the list of abbreviations.  Of course, with use,
  712. you will eventually learn them all, anyway.
  713.  
  714. Incompatibilities
  715.  
  716.      Typing Demon replaces the BIOS keyboard interrupt service routine (the
  717. one that normally handles the keyboard function, such as when you first turn
  718. on the computer).  It is therefore not likely to be compatible with other
  719. programs that also take over the keyboard interrupt, such as IBM's keyboard
  720. remapping program, or Rosesoft's Prokey, or Borland's Superkey.  There also
  721. seems to be a problem with activating Borland's Sidekick while the Demon is
  722. in the system.  If you're a Sidekick aficionado, and you have Superkey, you
  723. may want to use Superkey to redefine your keyboard according to Typing
  724. Demon's convention, so as to eliminate the confusion of having Typing Demon
  725. in the system, or not in the system.
  726.  
  727. A little warning ...
  728.  
  729.      There are potential problems with assigning abbreviations that are
  730. legitimate words, such as using "so" as the abbreviation for "solution".
  731. Typing Demon will not expand an abbreviation if a backspace was done before
  732. the word is terminated with a space, comma, etc., so if you really have your
  733. heart set on using that abbreviation, and you need to, at some point, type
  734. the word "so", you can type "soo", then backspace, and space, and "so" won't
  735. turn into "solution".
  736.  
  737.      A slightly more serious problem would be if you wanted to use "to" as
  738. the abbreviation for "together", when "to" is already defined as a Demon.
  739. The definition of "to" as an abbreviation for "together" would make it
  740. impossible for Typing Demon to remind you of what the Demon for "to" is,
  741. should you forget.  When this kind of situation occurs, the mk_demon program
  742. (which turns the ASCII "template.x" file into a "demons.x" file to be used
  743. by the Typing Demon program) will complain.
  744.  
  745. Running mk_demon
  746.  
  747.      A sample ASCII Demon file, named "template.qwe", for the QWERTY key-
  748. board, is provided.  Lines should not be added or deleted from the first
  749. part of this file (the part defining the Demon keys), though the common
  750. words, to be typed by the Demon keys, may be changed.
  751.  
  752.      Following the Demon key section is the abbreviation section.  Any
  753. number of abbreviations may be defined.  Although there is no requirement to
  754. do so, it's a good idea to keep the abbreviations in an alphabetical order,
  755. so as to make it easier to see what abbreviations are "already taken".
  756.  
  757.      If you use a word processing program to edit the template file, it's
  758. probably a good idea to write the file to disk as a standard ASCII text
  759. file.  The mk_demon program may get confused by unusual codes added
  760. according to the word processor's preferred format.
  761.  
  762.      The mk_demon program wants you to tell it what file to process.  Thus,
  763. to convert "template.qwe" to the "demons.qwe" format used by Typing Demon
  764. (demon.exe), type
  765.  
  766.      mk_demon template.qwe
  767.  
  768. followed by a carriage return.
  769.  
  770. A bigger warning...
  771.  
  772.      If you find that Typing Demon will work with a word-processing program
  773. we're not directly supporting as yet, it's a good idea to save your work
  774. with reasonable regularity, until you're absolutely certain that you won't
  775. encounter any problems.  That's a good idea anyway, to guard against power
  776. interruptions.  Some programs (Wordperfect is an example) provide the option
  777. of saving your work automatically at timed intervals.  If you set it for
  778. every 30 minutes, it means that you can lose at most 30 minutes of work,
  779. and, on the average (hopefully, it's not something that will happen enough
  780. that you can take a meaningful average), you would lose only 15 minutes of
  781. work.
  782.  
  783.  
  784. Installation
  785.  
  786.      Most FlySpeed programs are programs you will want to run without
  787. actually having to be in the directory in which they are located.  I have
  788. two subdirectories, one named "dos" and the other named "batch", which I
  789. have made "globally visible" (I can invoke the programs and batch files in
  790. them no matter what the current subdirectory may be) by means of a path
  791. command (see your DOS manual if you don't know what that is).  I think it
  792. would be just as good to lump them all together in a directory named
  793. "global", for that matter.  Listed below is the recommended place to put the
  794. various programs, where "global" means some directory which is normally
  795. included in a path command (which you will probably have in your
  796. autoexec.bat file).
  797.  
  798. In the directory "DEMON" ...
  799.  
  800. demon         -- Probably in your word-processing directory.
  801. linguist      -- Probably in a FlySpeed directory, if you expect to be
  802.                    making changes to your demons file.
  803. mk_demon      -- ditto, from above.
  804. setdemon      -- In your word-processing directory, if you expect to be
  805.                    changing the demons options.
  806. demons.fly    -- In the directory with Typing Demon, if you use the
  807.                    MC2 keyboard.
  808. template.fly  -  Probably in a FlySpeed directory, if you use the MC2
  809.                    keyboard, and expect to be making changes to your
  810.                    demons file.
  811.  
  812. demons.qwe    -- In the directory with Typing Demon, if you use the
  813.                    QWERTY keyboard.
  814. template.qwe  -- Probably in a FlySpeed directory, if you use the QWERTY
  815.                    keyboard, and expect to be making changes to your
  816.                    demons file.
  817.  
  818.      Since Typing Demon is a program you use for word-processing, the
  819. logical place to copy the demon program is to the subdirectory in which you
  820. have your word-processing software.  Or, you may want to create a sub-
  821. directory of that directory, and copy it there (i.e., \msword\demon).  You
  822. should also copy the appropriate "demons.x" file to that subdirectory, since
  823. the demons.x file must be in the same subdirectory as the demon program.
  824. You may also wish to copy the text file "template.x", from which demons.x is
  825. created (by the mk_demon program), to that directory, should you decide to
  826. make changes to the list of demons and abbreviations.
  827.  
  828.      You could then create a batch file, wp.bat for example, which contains
  829. the instructions to change to your word-processing directory, load Typing
  830. Demon, then load your word-processor program.  If you have wp.bat in your
  831. "batch" or "global" directory, and that directory has been made globally
  832. visible by means of a path command, then no matter what directory you are
  833. currently in, by typing "wp", you can automatically switch to your word-
  834. processing directory, load Typing Demon, and load your word-processor
  835. program.
  836.  
  837.      To invoke the Typing Demon program, change to your Wordperfect direc-
  838. tory and type "demon", followed by "enter".  It will give you a message to
  839. the effect that it has loaded the demons.  While the keyboard redefinitions
  840. that have been discussed will now be in effect, the demon will not be doing
  841. anything else until you start up Wordperfect.  When you leave Wordperfect,
  842. the demon will go back to sleep.  If you want to get rid of the demon, just
  843. reboot the system when you're back in DOS.
  844.